<?php
	require_once PATH_OBJECT.'dataObject.php';
	
class dataObject_rib extends dataObject
{

	/* @desc    Identifiant du RIB
     * @var     int
     */
    public $_IDENTIFIANT_RIB  = 0;
	
	
	/* @desc    code banque du RIB
     * @var     char(5)
     */
    public $_CODE_BANQUE_RIB  = '';
	
	
	/* @desc    code guichet du RIB
     * @var     char(5)
     */
    public $_CODE_GUICHET_RIB  = '';
	
	
	/* @desc    numero de compte du RIB
     * @var     char(11)
     */
    public $_NUMERO_COMPTE_RIB  = '';
	
	
	/* @desc    clé associé au RIB
     * @var     char(2)
     */
    public $_CLE_RIB  = '';
	
	
	/* @desc    état du RIB
     * @var     enum('A', 'I')
     */
    public $_ETAT_RIB  = '';
	
	
	/* @desc    Identifiant personne disposant du RIB
     * @var     int
     */
    public $_IDENTIFIANT_PERSONNE  = 0;

    
    
  public function __construct( $iId=0 )
    {
       parent::__construct();

       if ( $iId != 0 )
       {
            $sQuery = "SELECT   *   /*+ dataObject_rib::__construct */  
                       FROM rib 
            		   WHERE Identifiant_rib = ".$iId;
            
            $aRows =  self::$_oConnexion->query($sQuery);
	  		$aRow = $aRows[0];
            $this->_IDENTIFIANT_RIB         = $iId;
			$this->_CODE_BANQUE_RIB 		= $aRow["Code_banque_rib"];
			$this->_CODE_GUICHET_RIB 		= $aRow["Code_guichet_rib"];
			$this->_NUMERO_COMPTE_RIB 		= $aRow["Numero_compte_rib"];
			$this->_CLE_RIB 				= $aRow["Cle_rib"];
			$this->_ETAT_RIB 				= $aRow["Etat_rib"];
			$this->_IDENTIFIANT_PERSONNE  	= $aRow["Identifiant_personne"];
       
       }
    }
    /**
     * récupere la table rib selon le(s) criter(s) précisés ou pas 
	 */
    function rib_select( $sCritere = null )
    {
        $aRow = false;
    	$sQuery = "SELECT   *    
                   FROM rib 
            	   WHERE 1=1 
            	   {$sCritere}";
        $aRow =  self::$_oConnexion->query($sQuery);

        return $aRow;
    }
    
    
	public function rib_getList()
    {
        $aRow =  $this->rib_select ();
        
        return $aRow;
    }
    
    //liste des rib selon identifiant personne
 function rib_idPersonneGetListe( $sCritere = null )
    {
        $aRow = false;
    	$sQuery = "SELECT   *    
                   FROM rib 
            	   WHERE Identifiant_personne= '".$sCritere."'"
            	   ;
        $aRow =  self::$_oConnexion->query($sQuery);

        return $aRow;
    }
	
public function rib_insert()
    {
    	$bId = false;
    	$sQuery = "INSERT INTO rib (
				Code_banque_rib ,
				Code_guichet_rib ,
				Numero_compte_rib ,
				Cle_rib ,
				Etat_rib ,
				Identifiant_personne
    			) values (
    			'$this->_CODE_BANQUE_RIB' ,
				'$this->_CODE_GUICHET_RIB' ,
				'$this->_NUMERO_COMPTE_RIB' ,
				'$this->_CLE_RIB' ,
				'$this->_ETAT_RIB' ,
				$this->_IDENTIFIANT_PERSONNE  
    			)";
    	
        	$bId = self::$_oConnexion->execute($sQuery);
    	return $bId;
    }
    
    public function rib_update()
    {
    	$sQuery = "UPDATE rib SET 
				Code_banque_rib   =  '$this->_CODE_BANQUE_RIB',
				Code_guichet_rib  =  '$this->_CODE_GUICHET_RIB ',
				Numero_compte_rib =  '$this->_NUMERO_COMPTE_RIB ',
				Cle_rib  =  '$this->_CLE_RIB',
				Etat_rib  =  '$this->_ETAT_RIB', 
				Identifiant_personne  =  $this->_IDENTIFIANT_PERSONNE
			WHERE Identifiant_rib 	= ".$this->_IDENTIFIANT_RIB;
    	
    	return  self::$_oConnexion->execute($sQuery);
    }
    
	
	/**
	 * RATTACHEMENT D'UN RIB AU CONTRAT
	 */
	public function ribRattacheContrat($nIdContrat,$nIdRib){
		
		$bIRb = false;
		
		$oContrat = new dataObject_contrat($nIdContrat);
		
		$oContrat->_IDENTIFIANT_RIB = $nIdRib;
		
		$bIRb = $oContrat->contrat_update();
		
    	return $bIRb;
	}
	
	public function rib_getRibActifContrat($IdContrat)
	{
		$sQuery = "SELECT /* rib_getRibActifContrat*/ c.Identifiant_RIB
	    			 FROM contrat c, rib r
	    			 WHERE c.Identifiant_contrat = ".$IdContrat." 
	    			 AND c.Identifiant_RIB = r.Identifiant_rib
	    			 AND Etat_rib = 'A' ";
		
		 $aRow =  self::$_oConnexion->query($sQuery);
        if(!empty($aRow))
        	return intval($aRow[0]['Identifiant_RIB']);
        else return 0;
	}
	
	public function rib_getRibActifSouscripteur($IdContrat)
	{
		$sQuery = "SELECT /* rib_getRibActifContrat*/ Identifiant_rib
	    			 FROM role r, rib 
	    			 WHERE r.Identifiant_contrat = ".$IdContrat." 
	    			 AND Type_role = 'S'
	    			 AND r.Identifiant_personne = rib.Identifiant_personne
	    			 AND Etat_rib = 'A' ";
		
		 $aRow =  self::$_oConnexion->query($sQuery);
        if(!empty($aRow))
        	return intval($aRow[0]['Identifiant_rib']);
        else return 0;
	}
	
	public function rib_getListActifForPersonne($IdPersonne)
	{
		$sQuery = "SELECT /* rib_getLisActifForPersonne*/ *
	    			 FROM  rib 
	    			 WHERE Identifiant_personne = '$IdPersonne'
	    			 AND Etat_rib = 'A' ";
		
		 $aRow =  self::$_oConnexion->query($sQuery);

        return $aRow;
    
	}
}
?>